package com.gzxx.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gzxx.domain.base.BaseVo;
import com.gzxx.domain.po.SysDept;
import com.gzxx.domain.vo.SysDeptVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * SysDeptMapper
 *
 * @author chenjing
 * @date 2020-09-22 17:43:19
 */
public interface SysDeptMapper extends BaseMapper<SysDept> {

    /**
     * 查询列表
     */
    List<SysDeptVo> queryList(@Param("param") Map<?, ?> params);

    /**
     * 单个详情
     *
     * @param id 唯一标识
     * @return SysUserVo
     */
    SysDeptVo singleDetail(@Param("id") Long id);

    /**
     * 根据用户id查询
     */
    List<SysDeptVo> queryByUserId(@Param("userId") Long userId);

    /**
     * 一级部门下二级部门名称查询
     */
    SysDeptVo queryByNameAndParentId(@Param("name") String name, @Param("parentId") Long parentId);

    /**
     * 根据部门名称查询
     */
    SysDeptVo queryByName(@Param("name") String name);

    /**
     * 查询所有部门
     */
    List<BaseVo> queryAll();

    /**
     * 根据ID批量查询
     */
    List<BaseVo> queryIds(@Param("ids") List<Long> ids);

}
